package com.kangaroo.myhome.model;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class TInspProjectExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TInspProjectExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNull() {
            addCriterion("longitude is null");
            return (Criteria) this;
        }

        public Criteria andLongitudeIsNotNull() {
            addCriterion("longitude is not null");
            return (Criteria) this;
        }

        public Criteria andLongitudeEqualTo(String value) {
            addCriterion("longitude =", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotEqualTo(String value) {
            addCriterion("longitude <>", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThan(String value) {
            addCriterion("longitude >", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeGreaterThanOrEqualTo(String value) {
            addCriterion("longitude >=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThan(String value) {
            addCriterion("longitude <", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLessThanOrEqualTo(String value) {
            addCriterion("longitude <=", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeLike(String value) {
            addCriterion("longitude like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotLike(String value) {
            addCriterion("longitude not like", value, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeIn(List<String> values) {
            addCriterion("longitude in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotIn(List<String> values) {
            addCriterion("longitude not in", values, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeBetween(String value1, String value2) {
            addCriterion("longitude between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLongitudeNotBetween(String value1, String value2) {
            addCriterion("longitude not between", value1, value2, "longitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNull() {
            addCriterion("latitude is null");
            return (Criteria) this;
        }

        public Criteria andLatitudeIsNotNull() {
            addCriterion("latitude is not null");
            return (Criteria) this;
        }

        public Criteria andLatitudeEqualTo(String value) {
            addCriterion("latitude =", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotEqualTo(String value) {
            addCriterion("latitude <>", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThan(String value) {
            addCriterion("latitude >", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeGreaterThanOrEqualTo(String value) {
            addCriterion("latitude >=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThan(String value) {
            addCriterion("latitude <", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLessThanOrEqualTo(String value) {
            addCriterion("latitude <=", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeLike(String value) {
            addCriterion("latitude like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotLike(String value) {
            addCriterion("latitude not like", value, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeIn(List<String> values) {
            addCriterion("latitude in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotIn(List<String> values) {
            addCriterion("latitude not in", values, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeBetween(String value1, String value2) {
            addCriterion("latitude between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andLatitudeNotBetween(String value1, String value2) {
            addCriterion("latitude not between", value1, value2, "latitude");
            return (Criteria) this;
        }

        public Criteria andSubwayIsNull() {
            addCriterion("subway is null");
            return (Criteria) this;
        }

        public Criteria andSubwayIsNotNull() {
            addCriterion("subway is not null");
            return (Criteria) this;
        }

        public Criteria andSubwayEqualTo(String value) {
            addCriterion("subway =", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayNotEqualTo(String value) {
            addCriterion("subway <>", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayGreaterThan(String value) {
            addCriterion("subway >", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayGreaterThanOrEqualTo(String value) {
            addCriterion("subway >=", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayLessThan(String value) {
            addCriterion("subway <", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayLessThanOrEqualTo(String value) {
            addCriterion("subway <=", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayLike(String value) {
            addCriterion("subway like", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayNotLike(String value) {
            addCriterion("subway not like", value, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayIn(List<String> values) {
            addCriterion("subway in", values, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayNotIn(List<String> values) {
            addCriterion("subway not in", values, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayBetween(String value1, String value2) {
            addCriterion("subway between", value1, value2, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayNotBetween(String value1, String value2) {
            addCriterion("subway not between", value1, value2, "subway");
            return (Criteria) this;
        }

        public Criteria andSubwayNameIsNull() {
            addCriterion("subway_name is null");
            return (Criteria) this;
        }

        public Criteria andSubwayNameIsNotNull() {
            addCriterion("subway_name is not null");
            return (Criteria) this;
        }

        public Criteria andSubwayNameEqualTo(String value) {
            addCriterion("subway_name =", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameNotEqualTo(String value) {
            addCriterion("subway_name <>", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameGreaterThan(String value) {
            addCriterion("subway_name >", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameGreaterThanOrEqualTo(String value) {
            addCriterion("subway_name >=", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameLessThan(String value) {
            addCriterion("subway_name <", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameLessThanOrEqualTo(String value) {
            addCriterion("subway_name <=", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameLike(String value) {
            addCriterion("subway_name like", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameNotLike(String value) {
            addCriterion("subway_name not like", value, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameIn(List<String> values) {
            addCriterion("subway_name in", values, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameNotIn(List<String> values) {
            addCriterion("subway_name not in", values, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameBetween(String value1, String value2) {
            addCriterion("subway_name between", value1, value2, "subwayName");
            return (Criteria) this;
        }

        public Criteria andSubwayNameNotBetween(String value1, String value2) {
            addCriterion("subway_name not between", value1, value2, "subwayName");
            return (Criteria) this;
        }

        public Criteria andCatIsNull() {
            addCriterion("cat is null");
            return (Criteria) this;
        }

        public Criteria andCatIsNotNull() {
            addCriterion("cat is not null");
            return (Criteria) this;
        }

        public Criteria andCatEqualTo(String value) {
            addCriterion("cat =", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatNotEqualTo(String value) {
            addCriterion("cat <>", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatGreaterThan(String value) {
            addCriterion("cat >", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatGreaterThanOrEqualTo(String value) {
            addCriterion("cat >=", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatLessThan(String value) {
            addCriterion("cat <", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatLessThanOrEqualTo(String value) {
            addCriterion("cat <=", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatLike(String value) {
            addCriterion("cat like", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatNotLike(String value) {
            addCriterion("cat not like", value, "cat");
            return (Criteria) this;
        }

        public Criteria andCatIn(List<String> values) {
            addCriterion("cat in", values, "cat");
            return (Criteria) this;
        }

        public Criteria andCatNotIn(List<String> values) {
            addCriterion("cat not in", values, "cat");
            return (Criteria) this;
        }

        public Criteria andCatBetween(String value1, String value2) {
            addCriterion("cat between", value1, value2, "cat");
            return (Criteria) this;
        }

        public Criteria andCatNotBetween(String value1, String value2) {
            addCriterion("cat not between", value1, value2, "cat");
            return (Criteria) this;
        }

        public Criteria andCatNameIsNull() {
            addCriterion("cat_name is null");
            return (Criteria) this;
        }

        public Criteria andCatNameIsNotNull() {
            addCriterion("cat_name is not null");
            return (Criteria) this;
        }

        public Criteria andCatNameEqualTo(String value) {
            addCriterion("cat_name =", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameNotEqualTo(String value) {
            addCriterion("cat_name <>", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameGreaterThan(String value) {
            addCriterion("cat_name >", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameGreaterThanOrEqualTo(String value) {
            addCriterion("cat_name >=", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameLessThan(String value) {
            addCriterion("cat_name <", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameLessThanOrEqualTo(String value) {
            addCriterion("cat_name <=", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameLike(String value) {
            addCriterion("cat_name like", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameNotLike(String value) {
            addCriterion("cat_name not like", value, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameIn(List<String> values) {
            addCriterion("cat_name in", values, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameNotIn(List<String> values) {
            addCriterion("cat_name not in", values, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameBetween(String value1, String value2) {
            addCriterion("cat_name between", value1, value2, "catName");
            return (Criteria) this;
        }

        public Criteria andCatNameNotBetween(String value1, String value2) {
            addCriterion("cat_name not between", value1, value2, "catName");
            return (Criteria) this;
        }

        public Criteria andStageIsNull() {
            addCriterion("stage is null");
            return (Criteria) this;
        }

        public Criteria andStageIsNotNull() {
            addCriterion("stage is not null");
            return (Criteria) this;
        }

        public Criteria andStageEqualTo(String value) {
            addCriterion("stage =", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageNotEqualTo(String value) {
            addCriterion("stage <>", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageGreaterThan(String value) {
            addCriterion("stage >", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageGreaterThanOrEqualTo(String value) {
            addCriterion("stage >=", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageLessThan(String value) {
            addCriterion("stage <", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageLessThanOrEqualTo(String value) {
            addCriterion("stage <=", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageLike(String value) {
            addCriterion("stage like", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageNotLike(String value) {
            addCriterion("stage not like", value, "stage");
            return (Criteria) this;
        }

        public Criteria andStageIn(List<String> values) {
            addCriterion("stage in", values, "stage");
            return (Criteria) this;
        }

        public Criteria andStageNotIn(List<String> values) {
            addCriterion("stage not in", values, "stage");
            return (Criteria) this;
        }

        public Criteria andStageBetween(String value1, String value2) {
            addCriterion("stage between", value1, value2, "stage");
            return (Criteria) this;
        }

        public Criteria andStageNotBetween(String value1, String value2) {
            addCriterion("stage not between", value1, value2, "stage");
            return (Criteria) this;
        }

        public Criteria andStageNameIsNull() {
            addCriterion("stage_name is null");
            return (Criteria) this;
        }

        public Criteria andStageNameIsNotNull() {
            addCriterion("stage_name is not null");
            return (Criteria) this;
        }

        public Criteria andStageNameEqualTo(String value) {
            addCriterion("stage_name =", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameNotEqualTo(String value) {
            addCriterion("stage_name <>", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameGreaterThan(String value) {
            addCriterion("stage_name >", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameGreaterThanOrEqualTo(String value) {
            addCriterion("stage_name >=", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameLessThan(String value) {
            addCriterion("stage_name <", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameLessThanOrEqualTo(String value) {
            addCriterion("stage_name <=", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameLike(String value) {
            addCriterion("stage_name like", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameNotLike(String value) {
            addCriterion("stage_name not like", value, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameIn(List<String> values) {
            addCriterion("stage_name in", values, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameNotIn(List<String> values) {
            addCriterion("stage_name not in", values, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameBetween(String value1, String value2) {
            addCriterion("stage_name between", value1, value2, "stageName");
            return (Criteria) this;
        }

        public Criteria andStageNameNotBetween(String value1, String value2) {
            addCriterion("stage_name not between", value1, value2, "stageName");
            return (Criteria) this;
        }

        public Criteria andConsDateIsNull() {
            addCriterion("cons_date is null");
            return (Criteria) this;
        }

        public Criteria andConsDateIsNotNull() {
            addCriterion("cons_date is not null");
            return (Criteria) this;
        }

        public Criteria andConsDateEqualTo(Date value) {
            addCriterionForJDBCDate("cons_date =", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("cons_date <>", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateGreaterThan(Date value) {
            addCriterionForJDBCDate("cons_date >", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("cons_date >=", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateLessThan(Date value) {
            addCriterionForJDBCDate("cons_date <", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("cons_date <=", value, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateIn(List<Date> values) {
            addCriterionForJDBCDate("cons_date in", values, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("cons_date not in", values, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("cons_date between", value1, value2, "consDate");
            return (Criteria) this;
        }

        public Criteria andConsDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("cons_date not between", value1, value2, "consDate");
            return (Criteria) this;
        }

        public Criteria andDegreeIsNull() {
            addCriterion("`degree` is null");
            return (Criteria) this;
        }

        public Criteria andDegreeIsNotNull() {
            addCriterion("`degree` is not null");
            return (Criteria) this;
        }

        public Criteria andDegreeEqualTo(String value) {
            addCriterion("`degree` =", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeNotEqualTo(String value) {
            addCriterion("`degree` <>", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeGreaterThan(String value) {
            addCriterion("`degree` >", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeGreaterThanOrEqualTo(String value) {
            addCriterion("`degree` >=", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeLessThan(String value) {
            addCriterion("`degree` <", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeLessThanOrEqualTo(String value) {
            addCriterion("`degree` <=", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeLike(String value) {
            addCriterion("`degree` like", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeNotLike(String value) {
            addCriterion("`degree` not like", value, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeIn(List<String> values) {
            addCriterion("`degree` in", values, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeNotIn(List<String> values) {
            addCriterion("`degree` not in", values, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeBetween(String value1, String value2) {
            addCriterion("`degree` between", value1, value2, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeNotBetween(String value1, String value2) {
            addCriterion("`degree` not between", value1, value2, "degree");
            return (Criteria) this;
        }

        public Criteria andDegreeNameIsNull() {
            addCriterion("degree_name is null");
            return (Criteria) this;
        }

        public Criteria andDegreeNameIsNotNull() {
            addCriterion("degree_name is not null");
            return (Criteria) this;
        }

        public Criteria andDegreeNameEqualTo(String value) {
            addCriterion("degree_name =", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameNotEqualTo(String value) {
            addCriterion("degree_name <>", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameGreaterThan(String value) {
            addCriterion("degree_name >", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameGreaterThanOrEqualTo(String value) {
            addCriterion("degree_name >=", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameLessThan(String value) {
            addCriterion("degree_name <", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameLessThanOrEqualTo(String value) {
            addCriterion("degree_name <=", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameLike(String value) {
            addCriterion("degree_name like", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameNotLike(String value) {
            addCriterion("degree_name not like", value, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameIn(List<String> values) {
            addCriterion("degree_name in", values, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameNotIn(List<String> values) {
            addCriterion("degree_name not in", values, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameBetween(String value1, String value2) {
            addCriterion("degree_name between", value1, value2, "degreeName");
            return (Criteria) this;
        }

        public Criteria andDegreeNameNotBetween(String value1, String value2) {
            addCriterion("degree_name not between", value1, value2, "degreeName");
            return (Criteria) this;
        }

        public Criteria andConsComIsNull() {
            addCriterion("cons_com is null");
            return (Criteria) this;
        }

        public Criteria andConsComIsNotNull() {
            addCriterion("cons_com is not null");
            return (Criteria) this;
        }

        public Criteria andConsComEqualTo(String value) {
            addCriterion("cons_com =", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComNotEqualTo(String value) {
            addCriterion("cons_com <>", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComGreaterThan(String value) {
            addCriterion("cons_com >", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComGreaterThanOrEqualTo(String value) {
            addCriterion("cons_com >=", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComLessThan(String value) {
            addCriterion("cons_com <", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComLessThanOrEqualTo(String value) {
            addCriterion("cons_com <=", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComLike(String value) {
            addCriterion("cons_com like", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComNotLike(String value) {
            addCriterion("cons_com not like", value, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComIn(List<String> values) {
            addCriterion("cons_com in", values, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComNotIn(List<String> values) {
            addCriterion("cons_com not in", values, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComBetween(String value1, String value2) {
            addCriterion("cons_com between", value1, value2, "consCom");
            return (Criteria) this;
        }

        public Criteria andConsComNotBetween(String value1, String value2) {
            addCriterion("cons_com not between", value1, value2, "consCom");
            return (Criteria) this;
        }

        public Criteria andRangeSiteIsNull() {
            addCriterion("range_site is null");
            return (Criteria) this;
        }

        public Criteria andRangeSiteIsNotNull() {
            addCriterion("range_site is not null");
            return (Criteria) this;
        }

        public Criteria andRangeSiteEqualTo(String value) {
            addCriterion("range_site =", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteNotEqualTo(String value) {
            addCriterion("range_site <>", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteGreaterThan(String value) {
            addCriterion("range_site >", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteGreaterThanOrEqualTo(String value) {
            addCriterion("range_site >=", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteLessThan(String value) {
            addCriterion("range_site <", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteLessThanOrEqualTo(String value) {
            addCriterion("range_site <=", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteLike(String value) {
            addCriterion("range_site like", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteNotLike(String value) {
            addCriterion("range_site not like", value, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteIn(List<String> values) {
            addCriterion("range_site in", values, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteNotIn(List<String> values) {
            addCriterion("range_site not in", values, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteBetween(String value1, String value2) {
            addCriterion("range_site between", value1, value2, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andRangeSiteNotBetween(String value1, String value2) {
            addCriterion("range_site not between", value1, value2, "rangeSite");
            return (Criteria) this;
        }

        public Criteria andSynopsisIsNull() {
            addCriterion("synopsis is null");
            return (Criteria) this;
        }

        public Criteria andSynopsisIsNotNull() {
            addCriterion("synopsis is not null");
            return (Criteria) this;
        }

        public Criteria andSynopsisEqualTo(String value) {
            addCriterion("synopsis =", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisNotEqualTo(String value) {
            addCriterion("synopsis <>", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisGreaterThan(String value) {
            addCriterion("synopsis >", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisGreaterThanOrEqualTo(String value) {
            addCriterion("synopsis >=", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisLessThan(String value) {
            addCriterion("synopsis <", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisLessThanOrEqualTo(String value) {
            addCriterion("synopsis <=", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisLike(String value) {
            addCriterion("synopsis like", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisNotLike(String value) {
            addCriterion("synopsis not like", value, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisIn(List<String> values) {
            addCriterion("synopsis in", values, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisNotIn(List<String> values) {
            addCriterion("synopsis not in", values, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisBetween(String value1, String value2) {
            addCriterion("synopsis between", value1, value2, "synopsis");
            return (Criteria) this;
        }

        public Criteria andSynopsisNotBetween(String value1, String value2) {
            addCriterion("synopsis not between", value1, value2, "synopsis");
            return (Criteria) this;
        }

        public Criteria andMemoIsNull() {
            addCriterion("memo is null");
            return (Criteria) this;
        }

        public Criteria andMemoIsNotNull() {
            addCriterion("memo is not null");
            return (Criteria) this;
        }

        public Criteria andMemoEqualTo(String value) {
            addCriterion("memo =", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotEqualTo(String value) {
            addCriterion("memo <>", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThan(String value) {
            addCriterion("memo >", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoGreaterThanOrEqualTo(String value) {
            addCriterion("memo >=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThan(String value) {
            addCriterion("memo <", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLessThanOrEqualTo(String value) {
            addCriterion("memo <=", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoLike(String value) {
            addCriterion("memo like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotLike(String value) {
            addCriterion("memo not like", value, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoIn(List<String> values) {
            addCriterion("memo in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotIn(List<String> values) {
            addCriterion("memo not in", values, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoBetween(String value1, String value2) {
            addCriterion("memo between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andMemoNotBetween(String value1, String value2) {
            addCriterion("memo not between", value1, value2, "memo");
            return (Criteria) this;
        }

        public Criteria andStageTdcrIsNull() {
            addCriterion("stage_tdcr is null");
            return (Criteria) this;
        }

        public Criteria andStageTdcrIsNotNull() {
            addCriterion("stage_tdcr is not null");
            return (Criteria) this;
        }

        public Criteria andStageTdcrEqualTo(Object value) {
            addCriterion("stage_tdcr =", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrNotEqualTo(Object value) {
            addCriterion("stage_tdcr <>", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrGreaterThan(Object value) {
            addCriterion("stage_tdcr >", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrGreaterThanOrEqualTo(Object value) {
            addCriterion("stage_tdcr >=", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrLessThan(Object value) {
            addCriterion("stage_tdcr <", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrLessThanOrEqualTo(Object value) {
            addCriterion("stage_tdcr <=", value, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrIn(List<Object> values) {
            addCriterion("stage_tdcr in", values, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrNotIn(List<Object> values) {
            addCriterion("stage_tdcr not in", values, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrBetween(Object value1, Object value2) {
            addCriterion("stage_tdcr between", value1, value2, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStageTdcrNotBetween(Object value1, Object value2) {
            addCriterion("stage_tdcr not between", value1, value2, "stageTdcr");
            return (Criteria) this;
        }

        public Criteria andStagePlanIsNull() {
            addCriterion("stage_plan is null");
            return (Criteria) this;
        }

        public Criteria andStagePlanIsNotNull() {
            addCriterion("stage_plan is not null");
            return (Criteria) this;
        }

        public Criteria andStagePlanEqualTo(Object value) {
            addCriterion("stage_plan =", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanNotEqualTo(Object value) {
            addCriterion("stage_plan <>", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanGreaterThan(Object value) {
            addCriterion("stage_plan >", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanGreaterThanOrEqualTo(Object value) {
            addCriterion("stage_plan >=", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanLessThan(Object value) {
            addCriterion("stage_plan <", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanLessThanOrEqualTo(Object value) {
            addCriterion("stage_plan <=", value, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanIn(List<Object> values) {
            addCriterion("stage_plan in", values, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanNotIn(List<Object> values) {
            addCriterion("stage_plan not in", values, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanBetween(Object value1, Object value2) {
            addCriterion("stage_plan between", value1, value2, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStagePlanNotBetween(Object value1, Object value2) {
            addCriterion("stage_plan not between", value1, value2, "stagePlan");
            return (Criteria) this;
        }

        public Criteria andStageDesignIsNull() {
            addCriterion("stage_design is null");
            return (Criteria) this;
        }

        public Criteria andStageDesignIsNotNull() {
            addCriterion("stage_design is not null");
            return (Criteria) this;
        }

        public Criteria andStageDesignEqualTo(Object value) {
            addCriterion("stage_design =", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignNotEqualTo(Object value) {
            addCriterion("stage_design <>", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignGreaterThan(Object value) {
            addCriterion("stage_design >", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignGreaterThanOrEqualTo(Object value) {
            addCriterion("stage_design >=", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignLessThan(Object value) {
            addCriterion("stage_design <", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignLessThanOrEqualTo(Object value) {
            addCriterion("stage_design <=", value, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignIn(List<Object> values) {
            addCriterion("stage_design in", values, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignNotIn(List<Object> values) {
            addCriterion("stage_design not in", values, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignBetween(Object value1, Object value2) {
            addCriterion("stage_design between", value1, value2, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageDesignNotBetween(Object value1, Object value2) {
            addCriterion("stage_design not between", value1, value2, "stageDesign");
            return (Criteria) this;
        }

        public Criteria andStageConsIsNull() {
            addCriterion("stage_cons is null");
            return (Criteria) this;
        }

        public Criteria andStageConsIsNotNull() {
            addCriterion("stage_cons is not null");
            return (Criteria) this;
        }

        public Criteria andStageConsEqualTo(Object value) {
            addCriterion("stage_cons =", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsNotEqualTo(Object value) {
            addCriterion("stage_cons <>", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsGreaterThan(Object value) {
            addCriterion("stage_cons >", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsGreaterThanOrEqualTo(Object value) {
            addCriterion("stage_cons >=", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsLessThan(Object value) {
            addCriterion("stage_cons <", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsLessThanOrEqualTo(Object value) {
            addCriterion("stage_cons <=", value, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsIn(List<Object> values) {
            addCriterion("stage_cons in", values, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsNotIn(List<Object> values) {
            addCriterion("stage_cons not in", values, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsBetween(Object value1, Object value2) {
            addCriterion("stage_cons between", value1, value2, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageConsNotBetween(Object value1, Object value2) {
            addCriterion("stage_cons not between", value1, value2, "stageCons");
            return (Criteria) this;
        }

        public Criteria andStageTracingIsNull() {
            addCriterion("stage_tracing is null");
            return (Criteria) this;
        }

        public Criteria andStageTracingIsNotNull() {
            addCriterion("stage_tracing is not null");
            return (Criteria) this;
        }

        public Criteria andStageTracingEqualTo(Object value) {
            addCriterion("stage_tracing =", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingNotEqualTo(Object value) {
            addCriterion("stage_tracing <>", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingGreaterThan(Object value) {
            addCriterion("stage_tracing >", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingGreaterThanOrEqualTo(Object value) {
            addCriterion("stage_tracing >=", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingLessThan(Object value) {
            addCriterion("stage_tracing <", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingLessThanOrEqualTo(Object value) {
            addCriterion("stage_tracing <=", value, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingIn(List<Object> values) {
            addCriterion("stage_tracing in", values, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingNotIn(List<Object> values) {
            addCriterion("stage_tracing not in", values, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingBetween(Object value1, Object value2) {
            addCriterion("stage_tracing between", value1, value2, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andStageTracingNotBetween(Object value1, Object value2) {
            addCriterion("stage_tracing not between", value1, value2, "stageTracing");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNull() {
            addCriterion("creator is null");
            return (Criteria) this;
        }

        public Criteria andCreatorIsNotNull() {
            addCriterion("creator is not null");
            return (Criteria) this;
        }

        public Criteria andCreatorEqualTo(String value) {
            addCriterion("creator =", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotEqualTo(String value) {
            addCriterion("creator <>", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThan(String value) {
            addCriterion("creator >", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorGreaterThanOrEqualTo(String value) {
            addCriterion("creator >=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThan(String value) {
            addCriterion("creator <", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLessThanOrEqualTo(String value) {
            addCriterion("creator <=", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorLike(String value) {
            addCriterion("creator like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotLike(String value) {
            addCriterion("creator not like", value, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorIn(List<String> values) {
            addCriterion("creator in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotIn(List<String> values) {
            addCriterion("creator not in", values, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorBetween(String value1, String value2) {
            addCriterion("creator between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreatorNotBetween(String value1, String value2) {
            addCriterion("creator not between", value1, value2, "creator");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}